{{ define "title" }}{{ .Title | markdownify }} | {{ .Site.Title }}{{ end }}

{{ define "schema-dot-org" }}
<script type="application/ld+json">
{
  "@context": "http://schema.org",
  "@type": "BlogPosting",
  {{- /* Google recommends the headline be no more than 110 characters */}}
  "headline": {{ substr .Title 0 110 }},
  {{- with .Params.images -}}{{- range first 1 . -}}
  {{/* try to get the image from the page bundle */}}
  {{- with $.Page.Resources.GetMatch (printf "*%s*" .) }}
  "image": {
    "@type": "ImageObject",
    "url": {{ .Permalink }},
    "height": "{{ .Height }}",
    "width": "{{ .Width }}"
  {{/* otherwise, get the image from static */}}
  {{- else }}
  "image": {
    "@type": "ImageObject",
    {{- $image := . -}}
    {{- /* Don't try to get imageConfig if image param is not local */ -}}
    {{- if not (or (hasPrefix . "http://") (hasPrefix . "https://")) -}}
    {{- with (imageConfig (printf "/static/%s" .)) }}
    "url": {{ $image | absURL }},
    "height": "{{ .Height }}",
    "width": "{{ .Width }}"
    {{- end -}}
    {{- end -}}
  {{ end }}
  },
  {{- end -}}{{ end }}
  "url": {{ printf "%s" .Permalink }},
  "wordCount": "{{ .WordCount }}",
  {{- $ISO8601 := "2006-01-02T15:04:05-07:00" }}
  {{- if not .PublishDate.IsZero }}
  "datePublished": {{ .PublishDate.Format $ISO8601 }},
  {{- else }}
  "datePublished": {{ .Date.Format $ISO8601 }},
  {{- end }}
  {{- if not .Lastmod.IsZero }}
  "dateModified": {{ .Lastmod.Format $ISO8601 }},
  {{- end }}
  "author": {
    "@type": "Person",
    "name": {{ .Params.author | default .Site.Params.author }}
  }
  {{- if or (.Params.keywords) (or (.Params.categories) (.Params.tags)) -}}
  ,
  "keywords": {{ delimit (union .Params.keywords (union .Params.categories .Params.tags)) ", " }}
  {{- end }}

  {{- with .Params.description -}}
  ,
  "description": {{ . }}
  {{- end }}
}
</script>

{{ end }}

{{ define "main" }}
{{ $dateFormat := default "Mon Jan 2, 2006" (index .Site.Params "date_format") }}

<article class="blog-post">
  <header>
    <h2 class="blog-post-title" dir="auto"><a href="{{ .Permalink }}">{{ .Title | markdownify }}</a></h2>
    <p class="blog-post-meta">
{{ if not .PublishDate.IsZero }}<time {{ .Date.Format "2006-01-02T15:04:05Z07:00" | printf "datetime=%q" | safeHTMLAttr }}>{{ .Date.Format $dateFormat }}</time>{{ end }}
{{ if or (.Params.categories) (.Params.tags) }} {{ i18n "postedIn" }} {{ partial "meta-terms.html" . }}{{ end }}</p>
  </header>
  {{ .Content }}

  {{ if .IsTranslated }}
  <h4>{{ i18n "translations" }}</h4>
  <ul>
    {{ range .Translations }}
    <li>
      <a href="{{ .Permalink }}">{{ .Lang }}: {{ .Title }}{{ if .IsPage }}{{ end }}</a>
    </li>
    {{ end }}
  </ul>
  {{ end }}

  {{ if or (ne ($.Param "sharingicons") false) (.Site.DisqusShortname) }}
  <hr>
  <footer>

  {{ if (ne ($.Param "sharingicons") false) }}
  {{ partial "sharing-icons.html" . }}
  {{ end }}

  {{ if and (.Site.DisqusShortname) (ne .Params.comments false) }}
  {{ template "_internal/disqus.html" . }}
  {{ end }}
  </footer>
  {{ end }}

</article> <!-- /.blog-post -->

{{ end }}

{{- /* vim: set ts=2 sw=2 et: */}}
